//
//  ACCache.h
//  ACFramework
//
//  Created by caoyq on 2016/12/11.
//  Updatef by caoyq on 2018/1/3.
//
/*
 NSUserDefault的简化使用.
 NSUserDefault 存储基本数据
 NSUserDefault + 归档和反归档存储自定义数据类型
 自定义的对象必须都重写了<NSCoding>，不然是没法归档存储的，也会报错
 */

#import <Foundation/Foundation.h>

///NSUserDefault 缓存方法归纳
@interface ACCache : NSObject

#pragma mark - Save

/**
 存储自定义的数据对象（包括自定义对象、存放自定义对象的数组等）
 
 @param object 自定义的数据对象
 @param key    存储关键词
 */
+ (void)saveCustomObject: (id)object forKey: (NSString *)key;

/**
  存储基本数据对象
 */
+ (void)saveObject: (id)object forKey: (NSString *)key;

#pragma mark - Read

/**
 取出自定义的数据对象
 
 @param key 存储的时的关键词
 @return    自定义的数据对象
 */
+ (id)customObjectWithKey: (NSString *)key;

/**
  取出基本数据对象
 */
+ (id)objectWithKey: (NSString *)key;

#pragma mark - Remove

/**
 根据key  删除对应的 object （不区分是否是自定义对象）
 */
+ (void)removeObjectWithKey: (NSString *)key;

@end
